#ifndef _HCC_ERROR_CODE_MID_PMM_H_
#define _HCC_ERROR_CODE_MID_PMM_H_

#include "ofc/ofc_types.h"
#include "hcc/hcc_error_code.h"
#include "hcc/hcc_error_code_mid.h"

#ifdef __cplusplus
extern "C" {
#endif

// 不含行号的错误码生成
#define HCC_MAKE_MID_PMM_ERROR(error_code) (int)HCC_MAKE_MID_WARE_ERROR(kHccMidWarePmm, error_code, HCC_ERROR_LEVEL_ERROR)
// 含行号的错误码生成
#define HCC_MAKE_MID_PMM_ERROR_LINE(error_code) (int)HCC_ERROR(HCC_MAKE_MID_WARE_ERROR(kHccMidWarePmm, error_code, HCC_ERROR_LEVEL_ERROR))


/**
 * 配置库:
 */
enum TAstPmmErrorEnumTag
{
	kAstPmmErrorSuccess	=	HCC_ERROR_SUCCESS,			///< 成功,没有错误
	kAstPmmErrorFailed	=	HCC_MAKE_MID_PMM_ERROR(1),			///<参数非法
	kAstPmmErrorInvalidParam	=	HCC_MAKE_MID_PMM_ERROR(2),			///<参数非法
	kAstPmmErrorOutOfMem	=	HCC_MAKE_MID_PMM_ERROR(3),			///<内存溢出
	kAstPmmErrorMemFault	=	HCC_MAKE_MID_PMM_ERROR(4),			///<内存溢出
	kAstPmmErrorIdNotExists	=	HCC_MAKE_MID_PMM_ERROR(5),			///<参数ID不存在
	kAstPmmErrorNoInit	=	HCC_MAKE_MID_PMM_ERROR(6),			///<未初始化
	kAstPmmErrorLockTimeOut	=	HCC_MAKE_MID_PMM_ERROR(7),			///<锁超时
	kAstPmmErrorTransactionRollback	=	HCC_MAKE_MID_PMM_ERROR(8),			///<事务回滚
	kAstPmmErrorWrNonVolatileMemFail	=	HCC_MAKE_MID_PMM_ERROR(9),			///<写入失败
	kAstPmmErrorGroupNotExists	=	HCC_MAKE_MID_PMM_ERROR(10),			///<分组不存在
	kAstPmmErrorGroupCheckFail	=	HCC_MAKE_MID_PMM_ERROR(11),			///<分组校验失败
	kAstPmmErrorIdNotMatchType	=	HCC_MAKE_MID_PMM_ERROR(12),			///<参数ID不匹配
	kAstPmmErrorFailOpDev	=	HCC_MAKE_MID_PMM_ERROR(13),			///<操作设备失败
};
typedef enum TAstPmmErrorEnumTag TAstPmmErrorEnum;


typedef Int32 TAstPmmErrorEnumLine;
#define kAstPmmErrorSuccessLine	HCC_ERROR_SUCCESS	///< 成功,没有错误
#define kAstPmmErrorFailedLine	HCC_MAKE_MID_PMM_ERROR_LINE(1)	///<参数非法
#define kAstPmmErrorInvalidParamLine	HCC_MAKE_MID_PMM_ERROR_LINE(2)	///<参数非法
#define kAstPmmErrorOutOfMemLine	HCC_MAKE_MID_PMM_ERROR_LINE(3)	///<内存溢出
#define kAstPmmErrorMemFaultLine	HCC_MAKE_MID_PMM_ERROR_LINE(4)	///<内存溢出
#define kAstPmmErrorIdNotExistsLine	HCC_MAKE_MID_PMM_ERROR_LINE(5)	///<参数ID不存在
#define kAstPmmErrorNoInitLine	HCC_MAKE_MID_PMM_ERROR_LINE(6)	///<未初始化
#define kAstPmmErrorLockTimeOutLine	HCC_MAKE_MID_PMM_ERROR_LINE(7)	///<锁超时
#define kAstPmmErrorTransactionRollbackLine	HCC_MAKE_MID_PMM_ERROR_LINE(8)	///<事务回滚
#define kAstPmmErrorWrNonVolatileMemFailLine	HCC_MAKE_MID_PMM_ERROR_LINE(9)	///<写入失败
#define kAstPmmErrorGroupNotExistsLine	HCC_MAKE_MID_PMM_ERROR_LINE(10)	///<分组不存在
#define kAstPmmErrorGroupCheckFailLine	HCC_MAKE_MID_PMM_ERROR_LINE(11)	///<分组校验失败
#define kAstPmmErrorIdNotMatchTypeLine	HCC_MAKE_MID_PMM_ERROR_LINE(12)	///<参数ID不匹配
#define kAstPmmErrorFailOpDevLine	HCC_MAKE_MID_PMM_ERROR_LINE(13)	///<操作设备失败

#ifdef __cplusplus
}  // extern "C"
#endif

#endif // _HCC_ERROR_CODE_MID_PMM_H_
/**
 * @
 */
